Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Troyes Challenger EFG Swiss Open - Gstaad Wimbledon - London Mallorca Challenger Santo Domingo Challenger U.S. Open - New York Buenos Aires Challenger Montevideo Challenger Guayaquil Challenger Lisbon Challenger Campinas Challenger Santa Fe 2 Challenger Valencia Challenger M15 Valencia Todi Challenger Dallas Open - Dallas Oeiras 2 Challenger Australian Open - Melbourne Oeiras 1 Challenger Barcelona Open Banc Sabadell - Barcelona Manama Challenger Indian Wells 1 Challenger Tenerife 2 Challenger M25 Quinta Do Lago Indian Wells 2 Challenger Kigali 2 Challenger Tenerife 3 Challenger Kigali 1 Challenger Murcia Challenger Girona Challenger Oeiras 3 Challenger Millennium Estoril Open - Estoril Madrid Challenger Vicenza Challenger Prague Challenger Francavilla Challenger French Open - Paris Zagreb Challenger Bratislava 1 Challenger Oeiras 4 Challenger Poznan Challenger U.S. Open - New York Porto Challenger Brasov Challenger Wimbledon - London Milan Challenger Troyes Challenger Luedenscheid Challenger Hamburg Open - Hamburg Plava Laguna Croatia Open - Umag Seville Challenger Sibiu Challenger Hangzhou Open - Hangzhou Cassis Challenger Nonthaburi 4 Challenger Porto 2 Challenger Manacor Challenger M25 Vila Real de Santo Antonio Braga Challenger Campinas Challenger Shanghai Rolex Masters - Shanghai Curitiba Challenger Olbia Challenger Valencia Challenger Guayaquil Challenger Lima 2 Challenger Montevideo Challenger M25 Quinta do Lago Tenerife 1 Challenger Mauthausen Challenger Madrid Challenger M25 Vale do Lobo Rosario Challenger Punta Del Este Challenger M25 Vila Real de Santo Antonio Montemar Challenger Oeiras 3 Challenger Francavilla Challenger Oeiras 4 Challenger Argentina Open - Buenos Aires Nonthaburi 1 Challenger Australian Open - Melbourne Oeiras 1 Challenger Oeiras 2 Challenger Oeiras 5 Challenger M25 Figueira da Foz Estoril Challenger Troyes Challenger Miami Open - Miami M25 Porto Girona Challenger Cancun Challenger Zagreb Challenger Grand Prix Hassan II - Marrakech M25 Reus Heilbronn Challenger Wimbledon - London French Open - Paris Lyon Challenger EFG Swiss Open - Gstaad Braga Challenger Pozoblanco Challenger M25 Sintra Plava Laguna Croatia Open - Umag Porto Challenger U.S. Open - New York Tulln Challenger Targu Mures 1 Challenger M25 Sintra Lisbon Challenger Valencia Challenger Brest Challenger Hellenic Championship - Athens European Open - Brussels M25 Vale do Lobo Spain F32 Portugal F4 Portugal F5 Portugal F6 Spain F7 Portugal F1 Portugal F2 Portugal F3 Spain F17 Spain F18 Argentina F13 Argentina F15 Sweden F5 USA F26 Mexico F10 Mexico F11 USA F1 USA F2 USA F3 Argentina F1 Argentina F4 Argentina F5 Argentina F6 Argentina F7 Argentina F8 Argentina F9 Argentina F10 Argentina F11 Argentina F12 Argentina F13 Argentina F14 Argentina F15 Argentina F16 Uruguay F1 Argentina F17 Argentina F18 Mexico F1 Costa Rica F1 Colombia F2 Canada F1 Canada F2 Spain F10 Canada F3 Spain F11 Italy F5 Usa F7 Italy F6 Usa F8 Czech Rep. F2 Spain F17 Czech Rep. F3 Spain F18 Argentina F7 Argentina F8 Argentina F9 Argentina F10 Usa F14 Usa F15 Usa F18 Venezuela F5 Venezuela F6 Argentina F14 Argentina F15 Argentina F16 Argentina F17 Argentina F21 Argentina F22 Argentina F23 Argentina F24 Argentina F25 Brazil F30 Argentina F3 Usa F5 Portugal F3 Switzerland F3 Spain F11 Italy F5 Argentina F4 Argentina F5 Argentina F6 Argentina F7 Argentina F8 Usa F13 Argentina F9 Usa F15 Argentina F12 Argentina F13 Brazil F22 Argentina F22 Brazil F31 Brazil F32 Brazil F33 Chile F7 Chile F8 Brazil F1 Colombia F1 Colombia F2 USA F5 USA F6 USA F7 Argentina F5 Paraguay F1 Paraguay F2 Italy F22 Brazil F26 Venezuela F7 Brazil F33 Italy F11 Argentina F22 Italy F10 Argentina F10 Colombia F4 Ecuador F6 Brazil F13 Italy F20 Kazakhstan F6 (Shymkent) Kazakhstan F7 (Shymkent) Italy F2 (Santa Margherita Di Pula) Spain F6 (Xabia) Portugal F8 (Cascais) M15 Sintra M15 Sintra M25 Porto M25 Vale Do Lobo M15 Valldoreix M15 Villena M15 Benicarlo M25 Villena M25 Vale do Lobo M25 Faro M25 Vale do Lobo M15 Madrid Naples Challenger - Naples 2007 Knoxville Challenger - Knoxville Bancolombia Open - Bogota Abierto Internacional de Salinas 'Dario Expreso' - Salinas Roma Open Challenger - Rome III Challenger Isla de Gran Canaria Ciudad de Telde - Telde San Remo Tennis Cup - San Remo Nielsen USTA Pro Tennis Championship - Winnetka Challenger Banque Nationale - Granby Moncton Men's Challenger - Moncton Oldum Brown Vancouver Open - Vancouver Levene Gouldin & Thompson Tennis Challenger - Binghamton GHI Bronx Tennis Classic - Bronx Semgroup Challenger - Tulsa Sacramento Challenger - Sacramento Copa Petrobras-Argentina - Buenos Aires Ford Tennis Championships - Louisville National Bank Men's Rimouski Challenger - Rimouski JSM Challenger of Champaign - Urbana Challenger Britania Zavaleta - Puebla Abierto Internacional Varonil Ciudad de Cancun - Cancun Sao Paulo Challenger Salinas Challenger Rhodes Challenger San Remo Challenger Asuncion Challenger Santiago Challenger Tunis Challenger Lexington Challenger Campos do Jordao Challenger Brasilia Challenger Salvador Challenger Belo Horizonte Challenger Montevideo Challenger Buenos Aires Challenger Asuncion Challenger Santiago Challenger Sao Paulo Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Le Gosier Challenger Barranquilla Challenger Pereira Challenger Recife Challenger Blumenau Challenger Santos Challenger Prague Challenger Bordeaux Challenger Turin Challenger San Benedetto Challenger Orbetello Challenger Dortmund Challenger Campos do Jordao Challenger Trani Challenger Cali Challenger Campinas Challenger Belo Horizonte Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Montevideo Challenger Sao Paulo Challenger Bucaramanga Challenger Florianopolis Challenger Salinas Challenger Le Gosier Challenger Dallas Challenger Barranquilla Challenger San Luis Potosi Challenger Pereira Challenger Blumenau Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Caltanissetta Challenger Kosice Challenger Marburg Challenger Braunschweig Challenger Arad Challenger Timisoara Challenger Bercuit Challenger Tampere Challenger St. Remy Challenger Cali Challenger Campinas Challenger Belem Challenger San Juan Challenger Rio De Janeiro Challenger Villa Allende Challenger Buenos Aires Challenger Porto Alegre Challenger Medellin Challenger Montevideo Challenger Guayaquil Challenger Sao Leopoldo Challenger ATP Challenger Tour Finals Sao Paulo Challenger Bucaramanga Challenger Salinas Challenger Pereira Challenger Santiago Challenger Barranquilla Challenger Itajai Challenger Panama City Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Caltanissetta Challenger Blois Challenger Braunschweig Challenger Sao Paulo Challenger Rio De Janeiro Challenger Como Challenger Genova Challenger Seville Challenger Campinas Challenger Quito Challenger Porto Alegre Challenger Sao Paulo Challenger Sao Jose Do Rio Preto Challenger San Juan Challenger Buenos Aires Challenger Montevideo Challenger Bogota Challenger Guayaquil Challenger Lima Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Salinas Challenger Panama City Challenger Barranquilla Challenger Le Gosier Challenger Itajai Challenger Santiago Challenger Sao Paulo Challenger Santos Challenger Cali Challenger Aix En Provence Challenger Vicenza Challenger Mestre Challenger Furth Challenger Caltanissetta Challenger Blois Challenger Milan Challenger Marburg Challenger Braunschweig Challenger Tampere Challenger Genova Challenger Medellin Challenger Campinas Challenger Quito Challenger Pereira Challenger Porto Alegre Challenger San Juan Challenger Cordoba Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Montevideo Challenger Noumea Challenger Bucaramanga Challenger Dallas Challenger Santo Domingo Challenger Irving Challenger Drummondville Challenger Le Gosier Challenger Sarasota Challenger Savannah Challenger Turin Challenger Aix En Provence Challenger Rome Challenger Bordeaux Challenger Mestre Challenger Caltanissetta Challenger Blois Challenger Braunschweig Challenger Aptos Challenger Vancouver Challenger Meerbusch Challenger Manerbio Challenger Bangkok Challenger Como Challenger Meknes Challenger Shanghai Challenger Nanchang Challenger Kaohsiung Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Corrientes Challenger Santiago Challenger Lima Challenger Guayaquil Challenger Buenos Aires Challenger Montevideo Challenger Noumea Challenger Bangkok Challenger Rio De Janeiro Challenger Bucaramanga Challenger Dallas Challenger Quimper Challenger Jonkoping Challenger Kazan Challenger Napoli Challenger Barletta Challenger Turin Challenger Rome Challenger Bordeaux Challenger Mestre Challenger Vicenza Challenger Prostejov Challenger Milan Challenger Marburg Challenger Braunschweig Challenger Todi Challenger Biella Challenger Como Challenger St. Remy Challenger Stockton Challenger Monterrey Challenger Las Vegas Challenger Lima Challenger Traralgon Challenger Guayaquil Challenger Canberra Challenger Koblenz Challenger Dallas Challenger Buenos Aires Challenger San Francisco Challenger Tempe Challenger Sophia Antipolis Challenger Barletta Challenger Francavilla Challenger Ostrava Challenger Rome Challenger Bordeaux Challenger Lyon Challenger Lisbon Challenger Ilkley Challenger Todi Challenger Milan Challenger Braunschweig Challenger Scheveningen Challenger Floridablanca Challenger Santo Domingo Challenger Como Challenger Seville Challenger Rome Challenger Almaty Challenger Campinas Challenger Buenos Aires Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Santiago Challenger Bangkok Challenger Rennes Challenger Quimper Challenger Bergamo Challenger Santiago Challenger Le Gosier Challenger Marbella Challenger Alicante Challenger Barletta Challenger Tunis Challenger Rome Challenger Braga Challenger Perugia Challenger Tampere Challenger Como Challenger Genova Challenger Seville Challenger Banja Luka Challenger Biella Challenger Florence Challenger Santo Domingo Challenger Barcelona Challenger Ismaning Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Bangalore Challenger Buenos Aires Challenger Orlando Challenger Columbus Challenger Newport Beach Challenger Chennai Challenger Bangkok Challenger Bangkok Challenger Yokohama Challenger Sophia Antipolis Challenger Barletta Challenger Sarasota Challenger Francavilla Challenger Braga Challenger Heilbronn Challenger Lisbon Challenger Ludwigshafen Challenger Braunschweig Challenger Nur-Sultan Challenger Tampere Challenger Sopot Challenger Liberec Challenger Biella Challenger Florence Challenger Buenos Aires Challenger Campinas Challenger Santo Domingo Challenger Brest Challenger Noumea Challenger Ann Arbor Challenger Cherbourg Challenger Bergamo Challenger Todi Challenger Trieste Challenger Cordenons Challenger Aix En Provence Challenger Parma Challenger Biella Challenger Alicante Challenger Lisbon Challenger Sao Paulo Challenger Maia Challenger Quimper 2 Challenger Cherbourg Challenger Gran Canaria 1 Challenger Gran Canaria 2 Challenger Oeiras 1 Challenger Oeiras 2 Challenger Belgrade Challenger Rome 1 Challenger Oeiras 3 Challenger Oeiras 4 Challenger Biella 7 Challenger Lyon Challenger Forli Challenger Milan Challenger Porto Challenger Amersfoort Challenger Tampere Challenger Poznan Challenger Trieste Challenger San Marino Challenger Verona Challenger Szczecin Challenger Murcia Challenger Maia 1 Challenger Maia 2 Challenger Bendigo Challenger Cherbourg Challenger Forli 4 Challenger Forli 5 Challenger Roseto Degli Abruzzi 1 Challenger Roseto Degli Abruzzi 2 Challenger Zadar Challenger Oeiras 1 Challenger Murcia Challenger Oeiras 2 Challenger Madrid Challenger Split Challenger Aix En Provence Challenger Bordeaux Challenger Forli 6 Challenger Perugia Challenger Montechiarugolo - Parma Challenger Braunschweig Challenger San Marino Challenger Lima Challenger Santo Domingo Challenger Toulouse Challenger Seville Challenger Braga Challenger Lisbon Challenger Campinas Challenger Rio De Janeiro Challenger Las Vegas Challenger Ortisei Challenger Montevideo Challenger Sao Leopoldo Challenger Canberra Challenger Nonthaburi 1 Challenger Tenerife 1 Challenger Monterrey Challenger Waco Challenger Puerto Vallarta Challenger Las Franquesas del Valles Challenger Girona Challenger Murcia Challenger Madrid Challenger Rome Challenger Francavilla Challenger Prague 2 Challenger Vicenza Challenger Perugia Challenger Estoril Open - Estoril Estoril Open - Estoril Gerry Weber Open - Halle Delray Beach International Tennis Championships - Delray Beach Estoril Open - Estoril Pilot Pen Tennis - New Haven Copa Telmex - Buenos Aires Estoril Open - Estoril Estoril Open - Estoril Campbells Hall of Fame Tennis Championships - Newport Copa Claro - Buenos Aires Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Mercedes Cup - Stuttgart VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Estoril Open - Estoril AEGON Championships - London AEGON International - Eastbourne Studena Croatia Open - Umag VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Delray Beach International Tennis Championships - Delray Beach Portugal Open - Oeiras Royal Guard Open Chile - Vina del Mar U.S. National Indoor Tennis Championships - Memphis Copa Claro - Buenos Aires Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Portugal Open - Oeiras Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Erste Bank Open - Vienna Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Argentina Open - Buenos Aires US Men's Clay Court Championship - Houston BB&T Atlanta Open - Atlanta Millennium Estoril Open - Estoril Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Suisse Open - Gstaad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Apia International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Konzum Croatia Open - Umag Bet-at-home Open - Hamburg Generali Open - Kitzbuhel If Stockholm Open - Stockholm Open Sud de France - Montpellier Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Plava Laguna Croatia Open - Umag Abierto Mexicano - Los Cabos Qatar ExxonMobil Open - Doha Cordoba Open - Cordoba Argentina Open - Buenos Aires Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Plava Laguna Croatia Open - Umag Swiss Open - Gstaad European Open - Antwerp Open Sud de France - Montpellier Millennium Estoril Open - Estoril Gijon Open - Gijon Open Sud de France - Montpellier Barcelona Open Banc Sabadell - Barcelona M25 Mataro Sony Ericsson Open - Miami Recife Challenger Campinas Challenger Bratislava Challenger Verona Challenger Seville Challenger Braga Challenger Lima 2 Challenger Pau Challenger Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Salzburg Challenger BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Porto Challenger Lisbon Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Nottingham 2 Challenger Lyon Challenger Rio Open - Rio de Janeiro Maia Challenger U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open Qualifying - Doha French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) All Lower level tournaments Olympics - Rio de Janeiro